root: switch cspell to typo-only reporting - #24701
Conversation
✅ Deploy Preview for authentik-integrations ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for authentik-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for authentik-storybook ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Pull request overview
This PR updates the repo’s spellchecking workflow by switching cspell to a typo-only reporting mode, simplifying dictionary maintenance, and applying spelling fixes that were previously masked by allowlists across the monorepo.
Changes:
- Switch cspell to typo-only reporting (
unknownWords: "report-common-typos") and collapse per-topic dictionaries into a single collision overrides list. - Remove now-unnecessary inline spellchecker ignore/disable comments across docs, tests, and source files.
- Fix newly surfaced typos in docs, UI strings, Python/Rust comments, and Node utilities.
Reviewed changes
Copilot reviewed 34 out of 36 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| website/integrations/chat-communication-collaboration/grommunio/index.md | Removes unnecessary spellchecker ignore comment. |
| website/docs/security/cves/CVE-2026-49443.md | Removes unnecessary spellchecker ignore comment. |
| website/docs/releases/2026/v2026.5.md | Cleans up ignore comment and fixes release-note typo (“removable”). |
| website/docs/releases/2026/v2026.2.md | Removes unnecessary spellchecker ignore comment. |
| website/docs/releases/2025/v2025.12.md | Cleans up ignore comment and fixes release-note typo (“providers”). |
| website/docs/releases/2024/v2024.4.md | Removes unnecessary cspell ignore comment. |
| website/docs/releases/2024/v2024.2.md | Fixes release-note typo (“enterprise”). |
| website/docs/releases/2022/v2022.12.md | Fixes release-note typo (“ak-search-select”). |
| website/docs/developer-docs/frontend/css-architecture.md | Removes unnecessary cspell words list comment. |
| website/docs/developer-docs/frontend/cascade-layers.md | Removes unnecessary cspell words list comment. |
| website/AGENTS.md | Documents the new typo-only spellcheck workflow and overrides usage. |
| web/types/rapi-doc/index.d.ts | Removes spellchecker disable/enable block. |
| web/types/dom.d.ts | Removes unnecessary spellchecker ignore comment. |
| web/test/unit/unescape-locale-entities.test.ts | Removes unnecessary cspell ignore comment. |
| web/src/styles/global/locales/zh/globals.css | Removes spellchecker disable/enable block in locale CSS. |
| web/src/styles/global/locales/ja/globals.css | Removes spellchecker disable/enable block in locale CSS. |
| web/src/elements/LicenseNotice.ts | Fixes class name typo (AKLicenceNotice → AKLicenseNotice). |
| web/src/admin/users/UserListPage.ts | Fixes typo in a region marker comment (“Rendering”). |
| web/src/admin/providers/radius/RadiusProviderFormForm.ts | Fixes typo in UI help text (“comma-separated”). |
| web/docs/arch/2026-06-18-How-CSS-Is-Made-And-Next-Steps.md | Updates documentation wording/path related to the CSS build pipeline. |
| scripts/node/utils/node.mjs | Fixes “Comparison” identifier typos in package.json field handling. |
| packages/geo/test/labels.test.ts | Removes unnecessary spellchecker disable-next-line comments. |
| packages/ak-common/src/tokio/proxy_protocol/header.rs | Fixes typo in Rust doc comment (“mentioned”). |
| locale/en/dictionaries/software-terms.txt | Removes per-topic cspell dictionary file (no longer needed). |
| locale/en/dictionaries/rust.txt | Removes per-topic cspell dictionary file (no longer needed). |
| locale/en/dictionaries/python.txt | Removes per-topic cspell dictionary file (no longer needed). |
| locale/en/dictionaries/people.txt | Removes per-topic cspell dictionary file (no longer needed). |
| locale/en/dictionaries/overrides.txt | Adds a single overrides list for legitimate collision terms. |
| locale/en/dictionaries/integrations.txt | Removes per-topic cspell dictionary file (no longer needed). |
| locale/en/dictionaries/ignore.txt | Removes old ignore list dictionary file (no longer needed). |
| locale/en/dictionaries/idp.txt | Removes per-topic cspell dictionary file (no longer needed). |
| locale/en/dictionaries/golang.txt | Removes per-topic cspell dictionary file (no longer needed). |
| cspell.config.jsonc | Enables typo-only mode and simplifies dictionaries/ignore patterns accordingly. |
| authentik/outposts/signals.py | Fixes typo in a Python comment (“ForeignKeys”). |
| authentik/lib/utils/reflection.py | Fixes typo in a docstring (“subclasses”). |
| AGENTS.md | Updates repo-level spellcheck documentation to reflect typo-only mode. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #24701 +/- ##
===========================================
+ Coverage 49.59% 91.33% +41.73%
===========================================
Files 1137 1137
Lines 71540 71540
Branches 3875 3875
===========================================
+ Hits 35479 65339 +29860
+ Misses 36026 6166 -29860
Partials 35 35
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. |
8efa597 to
c0ce981
Compare
c0ce981 to
3653726
Compare
cSpell's default mode reports every word it does not recognize, so each new integration name or identifier needed a dictionary entry. Switch to unknownWords: report-common-typos, which matches CodeSpell's behavior: only known misspellings (reported with a suggested fix) and flagWords fail the check. Remove the per-topic dictionaries and word-shape ignore regexes this makes unnecessary, fix the 18 typos the old allowlists were masking, and document the new workflow. Claude-Session: https://claude.ai/code/session_014ZuquWGxU5ReaXR5D3NmwW
3653726 to
471e194
Compare
|
|
|
authentik PR Installation instructions Instructions for docker-composeAdd the following block to your AUTHENTIK_IMAGE=ghcr.io/goauthentik/dev-server
AUTHENTIK_TAG=gh-471e194baa6844681b33c30e9045d754b18f7b98
AUTHENTIK_OUTPOSTS__CONTAINER_IMAGE_BASE=ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)sAfterwards, run the upgrade commands from the latest release notes. Instructions for KubernetesAdd the following block to your authentik:
outposts:
container_image_base: ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)s
global:
image:
repository: ghcr.io/goauthentik/dev-server
tag: gh-471e194baa6844681b33c30e9045d754b18f7b98Afterwards, run the upgrade commands from the latest release notes. |
Details
Follow-up to #20188. cSpell's default mode reports every word it doesn't recognize, so each new integration name or identifier needed a dictionary entry, and the dictionaries and ignore regexes grew with every PR. Everyone who added those entries was doing the right thing under the old mode; the mode itself was the problem.
This switches to
unknownWords: "report-common-typos", which works the way CodeSpell did: only words on the common-misspellings list (each reported with a suggested fix) and the British spellings inflagWordsfail the check. Unknown words pass silently, so new terms no longer need dictionary entries.overrides.txtfor terms that collide with the misspellings list (first entry:ontext, a Guacamole API member).seperatedin a Radius UI string,Comparisionidentifiers,AKLicenceNotice, several release-note typos).AGENTS.mdandwebsite/AGENTS.mdto describe the new workflow.make lint-spellcheckpasses over the full tree.